プログラムについて学びます。 パソコンは、プログラムで動きます。
何でもできそうですが、実は、たった2つのことしかできないのです。
四則演算…足す(+)、引く(ー)、かける(×)、割る(÷)のことです。
論理演算…論理積、論理和、排他的論理和、否定、ビットシフト
記憶する、または、記憶を呼び出す 入力を記憶、または、記憶通りに出力する
条件は、等しい(==)、等しくない(!=)、より小さい(<)、より大きい(>)、以上(>=)、以下(<=)のどれかです。
条件が成立する、成立しないで処理する行が変わる仕組みです。
これを超高速で行えるので、プログラムを上手く作ると、色々なことが出来るのです。
また、パソコンは電気で動きます。 電気は、流れる、流れないの2つの状態しかありません。
これを、「1」、「0」で表します。
人は、数を、0、1、2、・・・と数字を10個使って表します。
ここから十進数と言います。
パソコンは、0、1しかないので、二進数となります。
例えば、0+0=0、0+1=1、1+1=10です。
十進数の10は、二進数では1010となります。
手の指は、5本なので、普通は5までしか数えられませんが、二進数なら、31まで可能です。 (練習すると友達に自慢できますね)
論理演算は、初めて聞く計算方法です。
それぞれ英語が元で、論理積(アンド(andまたは&))、論理和(オア(orまたは|))、排他的論理和(エクスクルーシブ・オア(^))、否定(ノット(notまたは~))、左ビットシフト(<<)、右ビットシフト(>>)です。
(()内の記号は、演算の書き方を表します。|などは、キーボードで探してみましょう)
0&0=0、0&1=0、1&0=0、1&1=1…どちらも1なら1で、それ以外は0
0|0=0、0|1=1、1|0=1、1|1=1…どちらかが1なら1、それ以外は0
0^0=0、0^1=1、1^0=1、1^1=0…それぞれ違えば1、同じなら0 ~0=1、~1=0…0なら1、1なら0
ビットシフトは、二進数の数を右や左にとある数だけ動かして、空いたところを0とします。
(1010>>1=0101、1010<<1=10100などです。)
中々面白い計算です。
プログラムには、よく出てきますので、その時はこれを読み返して内容を理解しましょう。
プログラムの構成は、最初に、後から出てくる処理(入出力の開始や時間の操作)の準備をパソコンに指示します。
次に、処理を一つづつ順番に書きます。
条件判断は、必要な場所に書きます。パソコンはその通りに動作します。
最後に、終わるときに必要となる処理(入出力の停止)をパソコンに指示します。
信号機の電子工作のプログラムを例にすると次のようになります。
赤色のLEDのピンを出力で準備、黄色のLEDのピンを出力で準備、緑色のLEDのピンを出力で準備、 次からの行をずっと繰り返す、 赤色を点灯、30秒待つ、赤色を消灯、黄色を点灯、3秒待つ、黄色を消灯、緑色を点灯、30秒待つ、緑色を消灯 中断の指示があれば、ピンから電気が流れたままとならないように元に戻して終わりにします。
パソコンが期待と異なる動きをするときは、プログラムのどこかに間違いがあるので、見つけて直しましょう。
動作中のプログラムを途中で中断するには、コントロール(ctrl)のキーとCのキーを同時に押します。
文字だけの説明では、わかりにくいので、実際のプログラムのところで学びましょう。
とっつきにくい内容ですが、動作を伴うと分かり易くなり、色々試したり組み合わせたりして面白くもなります。